﻿

var _this = this;

var popup=false;
var watchClose;
var checkBoxOptionEnum = {
        SHOW:1,
        HIDE:2,
        HIDEFAST:3,
        CHECKALL:4,
        UNCHECKALL:5,
        CHECKOUT:6
};

$(document).ready(function() {
	loadAddressBookTree();
	_this.table1 = tableSync('tbl1');
	$('#userDetailView').hide();
	$('#tbl1').hide();
	$('#btn_search').click(function() {
		searchBtn($('#input_search').val());
	});
	popup.closed=true;	
	CheckBox(checkBoxOptionEnum.HIDE);
	
	// 친구 테이블에서 전체 check box 클릭
	$('#th_input_chkbox').click(function(){
		if($('#th_input_chkbox').attr("checked")=='checked'){
			CheckBox(checkBoxOptionEnum.CHECKALL);	
		}else{
			CheckBox(checkBoxOptionEnum.UNCHECKALL);	
		}
		
	});
	
	var lang = getLanguageResource();
});


function searchBtn(data){
//	console.log("searchBtn data="+data);
	if(data.length>0){
		$('#tbl1 tbody tr').each(function() {
			var show=false;
			var trItem = $(this);
//			console.log($(this).html()+'--html()');
			$(this).find('td').each(function(){
				
//				console.log($(this).attr('id')+'--id html()');
				if($(this).attr('id')=="username")
					return true;//continue
				var text = $(this).text();
//				console.log(text+", "+text.indexOf(data));
				if(text.indexOf(data)>=0){
					show=true;
				}
			});
			if(show){
				trItem.show();	
			}else{
				trItem.hide();	
			}
			
		});	
	}else{
		$('#tbl1 tr').each(function() {
			$(this).show();
		});
	}
	
}


function loadAddressBookTree(){
	$("#depart_tree").bind("loaded.jstree",
			function(e, data) {
				data.inst.open_all(-1);
			}).jstree({
		"plugins" : [ "themes", "html_data", "ui" ]
	}).delegate("a", "click", function(event, data) {
		event.preventDefault();	// a tag 무시
	}).bind("select_node.jstree", function(event, data) {
		var department_code = data.rslt.obj.attr("id");
		department_getMemberInGroup(department_code);
	});
}


function setEventPopupClosed(){
	try{
		watchClose = setInterval(function() {
			if (popup.closed) {
				clearTimeout(watchClose);
//				pezAlert("aaaaaaaaaaaa");
				location.reload();
			} 
		}, 400);	
	}catch(e){
		errLog(e);
	}
}
function CheckBox(option){
	switch(option){
	case checkBoxOptionEnum.SHOW:{
//		console.log('show 1121dd11');
		try{
			$('#th_chkbox').fadeIn();
			$('#tbl1 tbody tr').each(function() {
				$(this).find('#tr_chkbox').fadeIn();
			});
		}catch(e){
			errLog(e);
		}
		
		break;
	}
	case checkBoxOptionEnum.HIDE:{
//		console.log('HIDE 2k2d1');
		try{
			$('#th_chkbox').fadeOut();
			$('#tbl1 tbody tr').each(function() {
				$(this).find('#tr_chkbox').fadeOut();
			});	
		}catch(e){
			errLog(e);
		}
			
		break;
	}	
	case checkBoxOptionEnum.HIDEFAST:{
//		console.log('HIDEFAST 2k2d1');
		try{
			$('#th_chkbox').hide();
			$('#tbl1 tbody tr').each(function() {
				$(this).find('#tr_chkbox').hide();
			});	
		}catch(e){
			errLog(e);
		}
			
		break;
	}	
	case checkBoxOptionEnum.CHECKALL:{
//		console.log('CHECKALL 123466');
		try{
			
			$('#tbl1 tbody tr').each(function() {
//				console.log('CHECKALL 111'+($(this).find('#tr_input_chkbox').attr("checked")=='checked'));
				if(!($(this).find('#tr_input_chkbox').attr("checked")=='checked')){
					$('#tbl1 tbody tr').each(function() {
//						console.log('CHECKALL 1333');
						$(this).find('#tr_input_chkbox').attr('checked', 'checked');
					});
					return 0;	// break;
				};
			});	
		}catch(e){
			errLog(e);
		}
			
		break;
	}	
	case checkBoxOptionEnum.UNCHECKALL:{
//		console.log('UNCHECKALL 111');
		try{
			
			$('#tbl1 tbody tr').each(function() {
				$(this).find('#tr_input_chkbox').removeAttr('checked');
			});	
		}catch(e){
			errLog(e);
		}
			
		break;
	}	
	/**
	 * 체크된게 하나라도 있으면 return false;<br/>
	 * 체크된게 없으면 return true;
	 * checkbox가 hide 상태이면 return null;
	 */
	case checkBoxOptionEnum.CHECKOUT:{
		try{
			if(getCheckBoxVisibleStatus()) return null;
			var ret = true;
			$('#tbl1 tbody tr').each(function() {
				if(($(this).find('#tr_input_chkbox').attr("checked")=='checked')){
//					console.log("CHECKOUT return false");
					ret = false;
					return true;	// break;
				}
			});	
//			console.log("CHECKOUT return true");
			return ret;
		}catch(e){
			errLog(e);
		}
			
		break;
	}	
	
	
	default:{
//		console.log('default 11321');
		try{
			var attr = $('#th_chkbox').attr('style');
			if(getCheckBoxVisibleStatus()){
				CheckBox(checkBoxOptionEnum.SHOW);
			}else{	// show 상태
				CheckBox(checkBoxOptionEnum.HIDE);
			}
		}catch(e){
			errLog(e);
		}
		break;
	}
	}
}


function department_getMemberInGroup(department_code) {
	var param = {"department_code" : department_code};
	
	$.post('clientList.json', param, function(data) {
		
		if(data.list.length==0){
			$('#tbl1 tbody').hide();
		}else{
			$('#tbl1 tbody').show();
			$('#tbl1 tr').each(function() {
				$(this).show();
			});
		}
//		console.log("data.list 시작");
//		console.log(JSON.stringify(data.list));
//		console.log("data.list 끝");
		_this.table1.tableAutoSync(data.list);
		
		$('#tbl1 tbody tr').click(function(){
			tableClickedCSS('tbl1', this);
			showUserInfo($(this).find('#username').text());
		});
		
//		console.log("임시코드333");
		CheckBox(checkBoxOptionEnum.HIDEFAST);	// 임시코드
		$('#tbl1').show();
		$('#tbl1_info').hide();
		personBtnShow();	// 친구 목록을 가지고 왔을 때 버튼이 나타난다.
		
		
		
	});
}

function tableClickedCSS(tableId, clickedTr){
//	$('#'+tableId);
	$('#'+tableId+' tbody tr').each(function() {
		$(this).removeClass("table_clicked");
	});
	$(clickedTr).addClass("table_clicked");
}

function showUserInfo(username){
	
	var param = {"username" : username};
//	console.log("showUserInfo");
	$.post('showuserinfo.json', param, function(data) {
		jsonAppend(data.dat, data.dat.department);
		jsonAppend(data.dat, data.dat.rank);
		jsonAppend(data.dat, data.dat.position);
		
		var user_birthday = data.dat.user_birthday1+"년 "+data.dat.user_birthday2+"월 "+data.dat.user_birthday3+"일";
		data.dat.user_birthday = user_birthday;
		var phone_number = data.dat.phone_number1+"-"+data.dat.phone_number2+"-"+data.dat.phone_number3;
		data.dat.phone_number = phone_number;
		var address = "("+data.dat.zipcode1+"-"+data.dat.zipcode2+") "+ data.dat.address1;
		data.dat.address= address;
		var enter_code = data.dat.enter_code1+"년 "+data.dat.enter_code2+"월 "+data.dat.enter_code3+"일";
		data.dat.enter_code = enter_code;
		
		if(data.dat.profile_img_seq==0){
			data.dat.profile_img_seq=getContextPath()+"/resources/images/no_image.jpg";
		}else{
			data.dat.profile_img_seq=getContextPath()+"/attachment/download/"+data.dat.profile_img_seq;
		}
		autoSync("userDetailView", data.dat);
		
		$('#userDetailView').show();
	});	
}

function getSelectedTree(){
	return $('#depart_tree').find('.jstree-clicked');
}

function getSelectedTreeId(){
	return getSelectedTree().parent().attr('id');
}
function getSelectedPerson(){
	return $('#tbl1').find('.table_clicked');
}

function getSelectedPersonId(){
	return getSelectedPerson().find('#username').text();
}


function errLog(e){
//	console.log(e);
}